/***
 * 这两个window通过弹窗显示出来，给用户选择单位和人员信息的。
 * 用户通过收费管理的增加按钮进入到添加 收费记录。
 * 
 */

Ext.ns('Ext.pm');

//选择单位的弹窗
Ext.pm.ShowUnitWindow = Ext.extend(Ext.Window,{
	modal:true,
	title:'选择 单位',
	cloasable : true,
	buttonAlign: 'center',

	initComponent : function(){
	
	//reader
	var _reader = new Ext.data.JsonReader(
			{
				root : 'list',
				totalProperty : 'totalCount',
				id : 'id',
				successProperty : '@success'
			}, 
			[ {
				name : 'unitid',
				mapping : 'unitid'
			}, {
				name : 'unitname',
				mapping : 'unitname'
			}, {
				name : 'unitcategory',
				mapping : 'unitcategory'
			}, {
				name : 'address',
				mapping : 'address'
			}, {
				name : 'unitcharacter',
				mapping : 'unitcharacter'
			}, {
				name : 'location',
				mapping : 'location'
			}, {
				name : 'postcode',
				mapping : 'postcode'
			}, {
				name : 'contactman',
				mapping : 'contactman'
			}, {
				name : 'phone',
				mapping : 'phone'
			}, {
				name : 'email',
				mapping : 'email'
			}, {
				name : 'fax',
				mapping : 'fax'
			}, {
				name : 'remark',
				mapping : 'remark'
			}, {
				name : 'sparefield1',
				mapping : 'sparefield1'
			}, {
				name : 'sparefield2',
				mapping : 'sparefield2'
			}, {
				name : 'sparefield3',
				mapping : 'sparefield3'
			}]);
	
	
	var _store =  new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
            url: 'projectManage/chargeManageAction!getAllUnit'
        }),
        pageSize : 20,
        reader : _reader
	});
		
		this.sm = new Ext.grid.CheckboxSelectionModel({
			singleSelect: true
		});
		
		this.grid = new Ext.grid.GridPanel({
			id:'unit_sgrid',
			store : _store,
			height:300,
			width:600,
			sm: this.sm,
			cm  :  new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(),this.sm, {
				header : '单位Id',
				dataIndex : 'unitid',
				width : 70
			}, {
				header : '单位名称',
				dataIndex : 'unitname',
				width : 70
			}, {
				header : '单位类别',
				dataIndex : 'unitcategory',
				width : 70
			}, {
				header : '单位性质',
				dataIndex : 'unitcharacter',
				width : 70
			}, {
				header : '所在地区',
				dataIndex : 'location',
				width : 70
			} ]),
			bbar :  new Ext.PagingToolbar({
				pageSize : 20,
				store : _store,
				displayInfo : true,
				displayMsg : '显示 {0}-{1}条 / 共 {2} 条',
				emptyMsg : "无数据。",
				plugins        : [new Ext.ux.PageSizePlugin()],
				items : ['-']
			})
		});
		//window里包含的grid在此处添加
		this.items = this.grid;

	Ext.pm.ShowUnitWindow.superclass.initComponent.call(this);
}
});

//选择负责人的弹窗
Ext.pm.ShowDirectorWindow = Ext.extend(Ext.Window,{
	modal:true,
	title:'选择负责人',
	cloasable : true,
	layout:'fit',
	buttonAlign: 'center',
	buttons : [{
	        	   xtype:'button',
	        	   text : '确定',
	        	   handler : function(){
	        	   var a = Ext.getCmp('selectdirector');
	        	   var record = a.sm.getSelections();
	        	   if(record != null && record[0] != null){
	        		   var p = Ext.getCmp('chargepanel');
	        		   p.findById(p.id+'projectdirector').setValue(record[0].get('personid'));
	        		   p.findById(p.id+'projectdirectorname').setValue(record[0].get('name'));
	        		   a.close();
	        	   } else{
	        		   Ext.Msg.alert('请选择一项！');
	        	   }
	           }
	           },{
	        	   xtype : 'button',
	        	   text : '取消',
	        	   handler : function(b, e){
	        	   var a = Ext.getCmp('selectdirector');
	        	   a.close();
	           }
	           }],
	initComponent : function(){
	var _reader = new Ext.data.JsonReader(
			{
				root : 'list',
				totalProperty : 'totalCount',
				id : 'id',
				successProperty : '@success'
			}, 
			[ {
				name : 'personid',
				mapping : 'personid'
			}, {
				name : 'name',
				mapping : 'name'
			}, {
				name : 'personcategory',
				mapping : 'personcategory'
			}, {
				name : 'phone',
				mapping : 'phone'
			}, {
				name : 'address',
				mapping : 'address'
			}, {
				name : 'mailbox',
				mapping : 'mailbox'
			}, {
				name : 'fax',
				mapping : 'fax'
			}, {
				name : 'identitycardnumber',
				mapping : 'identitycardnumber'
			}, {
				name : 'sparefield1',
				mapping : 'sparefield1'
			}, {
				name : 'sparefield2',
				mapping : 'sparefield2'
			}, {
				name : 'sparefield3',
				mapping : 'sparefield3'
			}]);
	
	
	var _store =  new Ext.data.Store({
		proxy: new Ext.data.HttpProxy({
            url: 'projectManage/chargeManageAction!getAllPerson'
        }),
        pageSize : 20,
        reader : _reader
	});
		
		this.sm = new Ext.grid.CheckboxSelectionModel({
			singleSelect: true
		});
		this.grid =  new Ext.grid.GridPanel({
			id:'director_sgrid',
			store : _store,
			height:300,
			width:800,
			sm: this.sm,
			cm  :  new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(),this.sm, {
				header : 'Id',
				dataIndex : 'personid',
				width : 70
			}, {
				header : '姓名',
				dataIndex : 'name',
				width : 70
			}, {
				header : '人员类别',
				dataIndex : 'personcategory',
				width : 70
			}, {
				header : '电话',
				dataIndex : 'phone',
				width : 70
			}, {
				header : '地址',
				dataIndex : 'address',
				width : 70
			}, {
				header : '邮箱',
				dataIndex : 'mailbox',
				width : 70
			} , {
				header : '传真',
				dataIndex : 'mailbox',
				width : 70
			} , {
				header : '身份证',
				dataIndex : 'identitycardnumber',
				width : 70
			}  ]),
			bbar :  new Ext.PagingToolbar({
				pageSize : 20,
				store : _store,
				displayInfo : true,
				displayMsg : '显示 {0}-{1}条 / 共 {2} 条',
				emptyMsg : "无数据。",
				plugins        : [new Ext.ux.PageSizePlugin()],
				items : ['-']
			})
		});
		this.items = this.grid;

	Ext.pm.ShowDirectorWindow.superclass.initComponent.call(this);
}
});
